Caramel: A Concept Representation System for Generic Programming

نویسندگان

  • Jeremiah Willcock
  • Jeremy Siek
  • Andrew Lumsdaine
چکیده

This paper introduces Caramel, a concept representation markup language system for generic programming in C++. Concepts, as abstract interface descriptions for templates, have a central role in generic programming. However, there is no language support for them in C++ and as a result they are only represented implicitly (in the form of documentation) and have no power to enforce interface adherence. The Caramel system provides a framework for explicit representation of concepts (in XML) and subsequent integration of the concept descriptions into a generic library. Using the XML concept description (as defined by the Caramel DTD), tools in the Caramel system automatically generate concept checking classes (compile time assertions) for interface adherence as well as archetypes (concept exemplars) that can be used for verification of algorithm implementations. Documentation associated with the concept is also generated in a number of popular formats, including HTML and LTEX. Since the concept checking classes, archetypes, and documentation are all generated from a single source (the XML concept description), consistency between them is assured.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Generic System to Support Multi-level Understanding of Heterogeneous Software Gupro : a Generic System to Support Multi-level Understanding of Heterogeneous Software

This paper presents the ideas and the implementation of a generic support system for understanding heterogenous software. GUPRO provides a seamless approach for modeling, representing and analysing software. The focus of GUPRO is its adaptability to (almost) arbitrary kinds of source text. Software of di erent programming and description languages can be represented uniformly by a homogeneous i...

متن کامل

جدا کردن رنگ کاراملی از ملاس چغدرقند و بررسی ویژیگی ها و کاربرد آن در صنایع غذایی

Molasses are produced in large amounts by sugar cane and sugar beet factories every year. However, they are considered as the waste product of the crystallization plants. Thus, although they contain significant amounts of materials with deep black colour which can be separated as food colour, molasses are very cheap and feasible to be used for this purpose. Aliquots of diluted molasses, after a...

متن کامل

جدا کردن رنگ کاراملی از ملاس چغدرقند و بررسی ویژیگی ها و کاربرد آن در صنایع غذایی

Molasses are produced in large amounts by sugar cane and sugar beet factories every year. However, they are considered as the waste product of the crystallization plants. Thus, although they contain significant amounts of materials with deep black colour which can be separated as food colour, molasses are very cheap and feasible to be used for this purpose. Aliquots of diluted molasses, after a...

متن کامل

An Adaptive Knowledge Acquisition System using Generic Genetic Programming

The knowledge acquisition bottleneck greatly obstructs the development of knowledge-based systems. One popular approach to knowledge acquisition uses inductive concept learning to derive knowledge from examples stored in databases. However, existing learning systems cannot improve themselves automatically. This paper describes an adaptive knowledge acquisition system that can learn first-order ...

متن کامل

Mathematical Programming Models for Solving Unequal-Sized Facilities Layout Problems - a Generic Search Method

 This paper present unequal-sized facilities layout solutions generated by a genetic search program named LADEGA (Layout Design using a Genetic Algorithm). The generalized quadratic assignment problem requiring pre-determined distance and material flow matrices as the input data and the continuous plane model employing a dynamic distance measure and a material flow matrix are discussed. Computa...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001